<?xml version="1.0" encoding="utf-8"?>
<!--
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Daffodil for Visual Studio  <http://daffodil.codeplex.com>
- Native multi-targeting support for Visual Studio 2002 in Visual Studio 2010

2.2  [2011-09-08]

Owen Wengerd, ManuSoft
http://www.manusoft.com

Credits
  Some aspects of this project are based on information in this MSDN blog post:
  http://blogs.msdn.com/b/vcblog/archive/2009/12/08/c-native-multi-targeting.aspx
  
  This file is a derivative work based on the file of the same name that is
  included with Visual Studio 2010. The original file bears the copyright
  notice reproduced below. Implicit authorization from Microsoft to create and
  distribute derivative works is deduced from comments in the files and
  documentation which describe ways to customize the build system by making
  changes to these files.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-->
<!--Copyright, Microsoft Corporation, All rights reserved.-->
<Rule Name="ConfigurationGeneral" DisplayName="General" PageTemplate="generic" Description="General" xmlns="http://schemas.microsoft.com/build/2009/properties">
  <Rule.Categories>
    <Category Name="General" DisplayName="General" Description="General"/>
    <Category Name="ProjectDefaults" DisplayName="Project Defaults" Description="Project Defaults"/>
  </Rule.Categories>
  <Rule.DataSource>
    <DataSource Persistence="ProjectFile" Label="Configuration"/>
  </Rule.DataSource>
  <StringProperty Name="OutDir" DisplayName="Output Directory" Description="Specifies a relative path to the output file directory; can include environment variables." Category="General" Default="$(SolutionDir)$(Configuration)\" Subtype="folder" F1Keyword="VC.Project.VCConfiguration.OutputDirectory">
                  <StringProperty.DataSource>
                     <DataSource Persistence="ProjectFile" Label=""/>
                  </StringProperty.DataSource>
  </StringProperty>
  <StringProperty Name="IntDir" DisplayName="Intermediate Directory" Description="Specifies a relative path to the intermediate file directory; can include environment variables." Category="General" Default="$(Configuration)\" Subtype="folder" F1Keyword="VC.Project.VCConfiguration.IntermediateDirectory">
                  <StringProperty.DataSource>
                     <DataSource Persistence="ProjectFile" Label=""/>
                  </StringProperty.DataSource>
  </StringProperty>
  <StringProperty Name="TargetName" DisplayName="Target Name" Description="Specifies a file name that this project will generate." F1Keyword="VC.Project.VCConfiguration.TargetName" Category="General" Default="$(ProjectName)">
                  <StringProperty.DataSource>
                     <DataSource Persistence="ProjectFile" Label=""/>
                  </StringProperty.DataSource>
  </StringProperty>
  <StringProperty Name="TargetExt" DisplayName="Target Extension" Description="Specifies a file extension that this project will generate. (Example: .exe or .dll)" F1Keyword="VC.Project.VCConfiguration.TargetExt" Category="General">
                  <StringProperty.DataSource>
                     <DataSource Persistence="ProjectFile" Label=""/>
                  </StringProperty.DataSource>
  </StringProperty>
  <StringListProperty Name="ExtensionsToDeleteOnClean" DisplayName="Extensions to Delete on Clean" Description="Semi-colon delimited wildcard specification for which files in the intermediate directory to delete on clean or rebuild." Category="General" Separator=";" F1Keyword="VC.Project.VCConfiguration.DeleteExtensionsOnClean">
                      <StringListProperty.DataSource>
                            <DataSource Persistence="ProjectFile" Label=""/>
                      </StringListProperty.DataSource>
  </StringListProperty>
  <StringProperty Name="BuildLogFile" DisplayName="Build Log File" Description="Specifies the build log file to write to when build logging is enabled." F1Keyword="VC.Project.VCConfiguration.BuildLogFile" Category="General" Default="$(ProjectDir)\$(MSBuildProjectName).log" Subtype="file">
                  <StringProperty.DataSource>
                     <DataSource Persistence="ProjectFile" ItemType="BuildLog" PersistedName="Path"/>
                  </StringProperty.DataSource>
  </StringProperty>
  <!-- There is no InheritProjectPropertySheets in the project file. The property sheets will be expressed as explicit Imports.
  <StringListProperty Name="InheritProjectPropertySheets" DisplayName="Inherit Project Property Sheets"
                      Description="Specifies the project property sheets this configuration or property sheet inherits from."
                      Category="General" Separator=";" Subtype="file" /> -->
  <DynamicEnumProperty Name="PlatformToolset" DisplayName="Platform Toolset" EnumProvider="Toolsets" Description="Specifies the toolset used for building the current configuration; If not set, the default toolset is used" F1Keyword="VC.Project.VCConfiguration.PlatformToolset" Category="General"/>
  <EnumProperty Name="ConfigurationType" DisplayName="Configuration Type" Description="Specifies the type of output this configuration generates." Category="ProjectDefaults" F1Keyword="VC.Project.VCConfiguration.ConfigurationType">
    <EnumValue Name="Makefile" DisplayName="Makefile" Description="Makefile"/>
    <EnumValue Name="Application" DisplayName="Application (.exe)" Description="Application (.exe)"/>
    <EnumValue Name="DynamicLibrary" DisplayName="Dynamic Library (.dll)" Description="Dynamic Library (.dll)"/>
    <EnumValue Name="StaticLibrary" DisplayName="Static library (.lib)" Description="Static Library (.lib)"/>
    <EnumValue Name="Utility" DisplayName="Utility" Description="Utility"/>
  </EnumProperty>
  <EnumProperty Name="UseOfMfc" DisplayName="Use of MFC" Description="Specifies how MFC is used by the configuration." Category="ProjectDefaults" F1Keyword="VC.Project.VCConfiguration.useOfMfc">
    <EnumValue Name="false" DisplayName="Use Standard Windows Libraries" Description="Use Standard Windows Libraries"/>
    <EnumValue Name="Static" DisplayName="Use MFC in a Static Library" Description="Use MFC in a Static Library"/>
    <EnumValue Name="Dynamic" DisplayName="Use MFC in a Shared DLL" Description="Use MFC in a Shared DLL"/>
  </EnumProperty>
  <EnumProperty Name="UseOfAtl" DisplayName="Use of ATL" Description="Specifies how ATL is used by the configuration." Category="ProjectDefaults" F1Keyword="VC.Project.VCConfiguration.useOfATL">
    <EnumValue Name="false" DisplayName="Not Using ATL" Description="Not Using ATL"/>
    <EnumValue Name="Static" DisplayName="Static Link to ATL" Description="Static Link to ATL"/>
    <EnumValue Name="Dynamic" DisplayName="Dynamic Link to ATL" Description="Dynamic Link to ATL"/>
  </EnumProperty>
  <EnumProperty Name="CharacterSet" DisplayName="Character Set" Description="Tells the compiler to use the specified character set; aids in localization issues." Category="ProjectDefaults" F1Keyword="VC.Project.VCConfiguration.CharacterSet">
    <EnumValue Name="NotSet" DisplayName="Not Set" Description="Not Set"/>
    <EnumValue Name="Unicode" DisplayName="Use Unicode Character Set" Description="Use Unicode Character Set"/>
    <EnumValue Name="MultiByte" DisplayName="Use Multi-Byte Character Set" Description="Use Multi-Byte Character Set"/>
  </EnumProperty>
  <EnumProperty Name="CLRSupport" DisplayName="Common Language Runtime Support" Description="Specifies whether this configuration supports the Common Language Runtime. This is incompatible with some other settings, e.g. runtime checks. See help for /clr family of C++ compiler switches for full list of conflicts." Category="ProjectDefaults" F1Keyword="VC.Project.VCConfiguration.ManagedExtensions">
    <EnumValue Name="false" DisplayName="No Common Language Runtime Support" Description="No Common Language Runtime Support"/>
    <EnumValue Name="true" DisplayName="Common Language Runtime Support (/clr)" Description="Common Language Runtime Support (/clr)"/>
  </EnumProperty>
  <EnumProperty Name="WholeProgramOptimization" DisplayName="Whole Program Optimization" Description="Specifies that the program will be optimized across .obj boundaries; works best if C/C++ optimizations are turned on." Category="ProjectDefaults" F1Keyword="VC.Project.VCConfiguration.WholeProgramOptimization">
    <EnumValue Name="false" DisplayName="No Whole Program Optimization" Description="No Whole Program Optimization"/>
    <EnumValue Name="true" DisplayName="Use Link Time Code Generation" Description="Use Link Time Code Generation"/>
  </EnumProperty>
  <BoolProperty Name="UseDebugLibraries" DisplayName="Use Debug Libraries" Description="Specifies whether this configuration should use debug libraries and debug switches" Category="ProjectDefaults" Visible="false">
  </BoolProperty>
  <StringProperty Name="_ProjectFileVersion" DisplayName="Project File Version" Description="Specifies the version of the conversion tool used to create this project file." Category="General" Visible="false">
    <StringProperty.DataSource>
      <DataSource Persistence="ProjectFile"/>
    </StringProperty.DataSource>
  </StringProperty>
</Rule>
